"Cannot retrieve code page info..."
Hello again!
I got a problem using an OLE-DB Source in my data flow task. It is an Informix-Server using the newest OLE DB-Driver provided by IBM. However, when I set up the OLE DB-Source with connection manager and SQl-Query, I get the following warning message:
Warning at {2B334CA3-A792-4BC2-93AA-12FADCF1E696} [OLE DB Source [45]]: Cannot retrieve the column code page info from the OLE DB provider. If the component supports the "DefaultCodePage" property, the code page from that property will be used. Change the value of the property if the current string code page values are incorrect. If the component does not support the property, the code page from the component's locale ID will be used.
Later when I try to execute the package, the destination adapter gets errors like
Error 3 Validation error. Data Flow Task: OLE DB Destination [2985]: Columns "antrag" and "Antrag" cannot convert between unicode and non-unicode string data types. Informix_OLEDB.dtsx 0 0
I guess that SQL Server cannot get the data types from the Source.
Has anyone an idea? Thanks in advance!
November 20th, 2006 8:09am
Is the source or destination UNICODE? You need to do a conversion to the proper data type first. I think you can safely ignore the warning since it is picking the default code page 1252for you.
Free Windows Admin Tool Kit Click here and download it now
November 20th, 2006 9:19am
I checked the collation of the Destination DB, its "SQL_Latin1_General_CP1_CI_AS".
I inserted a data conversion task, the properties show that all string/char rows are in ANSI codepage 1252. I converted the column "antrag", which is mentioned in the posted "Error3" above to DT_Str using the default code page 1252. I still get the same error.
But I dont know which codepage is used by the Informix-Server I get the data from. Furthermore, when I use a ODBC-Connection to the Informix server, I dont get the Codepage-Warning. But due to some other problems Im unable to use ODBC :-/
[Edit] I just checked the "defaultcodepage"-property at the source adapter properties. Its also 1252. So the main problem is that sql server cannot convert a DT_STR between codepage 1252 and 1252??? Im totally flabbergasted now O_o
[/Edit]
November 20th, 2006 9:47am
You haven't answered Sean's question above -is your destination column unicode? If you can confirm this, then in your Data Conversion transform, do a conversion on "antrag" from DT_STR to DT_WSTR, and map that converted column (dt_wstr)to your destination unicode column should fix your problem.
thanks
wenyang
Free Windows Admin Tool Kit Click here and download it now
November 21st, 2006 4:44pm
Sry for the delay, i was occupied by other stuff.
I checked the destination columns - Theyre unicode. I did the suggested conversions. In the designer, there are no more errors/warnings shown. However, when I run the package, I get:
Error: 0xC001402C at Informix_OLEDB, Connection manager "xxxx": The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D01B "the transaction manager is not available.".
Error: 0xC0202009 at Informix_OLEDB, Connection manager "xxxx": An OLE DB error has occurred. Error code: 0x8004D01B.
Error: 0xC00291EC at isolation, Execute SQL Task: Failed to acquire connection "xxxx". Connection may not be configured correctly or you may not have the right permissions on this connection.
The Connection Manager is set up correctly, "test connection" succeeds. Any suggestions? Thanks for your replies so far!
December 7th, 2006 4:34am
I have exactly the same problem regarding transactions. Please, let me know if you have any aditional comments on that.
I'd like to know if applied coledb script on your informix server and what is the OS that SSIS runs. I'm running SSIS on Windows Server 2000 SP4.
Thanks
Free Windows Admin Tool Kit Click here and download it now
August 2nd, 2007 11:41am
Hello,
the first message is onlythe warning and it says that the data provider you use does not publish code pages used fortext columns. You would need to make sure the values assigned by default are correct.
The secons message says that SSIS does not do implicit conversions between Unicode and non-unicode strings and you will need to use Data Conversion transfromation for that.
Thanks,
Bob
August 3rd, 2007 2:38am
the first message is onlythe warning and it says that the data provider you use does not publish code pages used fortext columns. You would need to make sure the values assigned by default are correct.I am having a similiar issue. It is only a warning, but my package fails EVERY TIME!How do I solve this issue??I am simply trying to migrate a SSIS 2005 package to SSIS 2008. The packagehas been running every day for years in 2005. We have 3 developers working on this single issue and we sure would appreciate some help.Thanks
Free Windows Admin Tool Kit Click here and download it now
June 11th, 2009 3:59pm
Did you try using DataConverison Task,. We have used this task in many packages for the similar issue.
July 28th, 2010 4:25pm
Click on the OLE DB SOurce data flow task. Then go to the properties tab and set the AlwaysUseDefaultCodePage peoprty to True.
Free Windows Admin Tool Kit Click here and download it now
April 20th, 2011 12:41pm
Dan Meyers's answer is the best solution for your query... Dan you are champ :p
September 14th, 2012 5:20pm